package com.zhiche.lisa.bms.pojo.vo.psup;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @author: linbao
 * @date: 2019-06-18
 */
@Data
@ApiModel(value = "PsupBaseDataVO", description = "人送基础信息VO")
public class PsupBaseDataVO {

    /**
     * 主键
     */
    @ApiModelProperty(value = "id", name = "id", dataType = "Long")
    private Long id;
    /**
     * 车队id
     */
    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "车队id", name = "fleetId", dataType = "Long")
    private Long fleetId;
    /**
     * 车队名称
     */
    @ApiModelProperty(value = "车队名称", name = "fleetName", dataType = "String")
    private String fleetName;
    /**
     * 是否油价联动; 0-否, 1-是
     */
    @ApiModelProperty(value = "是否油价联动; 0-否, 1-是", name = "linkFlag", dataType = "Integer")
    private Integer linkFlag;
    /**
     * 是否油价联动; 0-否, 1-是
     */
    @ApiModelProperty(value = "是否油价联动; 0-否, 1-是", name = "linkFlagStr", dataType = "String")
    private String linkFlagStr;
    /**
     * 优先级; 0-低, 1-中, 2高;
     */
    @ApiModelProperty(value = "优先级; 0-低, 1-中, 2高;", name = "priority", dataType = "Integer")
    private Integer priority;
    /**
     * 优先级; 0-低, 1-中, 2高;
     */
    @ApiModelProperty(value = "优先级; 0-低, 1-中, 2高;", name = "priorityStr", dataType = "String")
    private String priorityStr;
    /**
     * 价格模式; 0-传统价格模式, 1-人送价格模式, 2-一口价模式
     */
    @ApiModelProperty(value = "价格模式; 0-传统价格模式, 1-人送价格模式, 2-一口价模式", name = "priceModel", dataType = "Integer")
    private Integer priceModel;
    /**
     * 价格模式; 0-传统价格模式, 1-人送价格模式, 2-一口价模式
     */
    @ApiModelProperty(value = "价格模式; 0-传统价格模式, 1-人送价格模式, 2-一口价模式", name = "priceModelStr", dataType = "String")
    private String priceModelStr;
    /**
     * 现金预付比例
     */
    @ApiModelProperty(value = "现金预付比例", name = "cashPrepayRate", dataType = "BigDecimal")
    private BigDecimal cashPrepayRate;
    /**
     * 现金尾款比例
     */
    @ApiModelProperty(value = "现金尾款比例", name = "cashFinalRate", dataType = "BigDecimal")
    private BigDecimal cashFinalRate;
    /**
     * 油卡预付比例
     */
    @ApiModelProperty(value = "油卡预付比例", name = "oilPrepayRate", dataType = "BigDecimal")
    private BigDecimal oilPrepayRate;
    /**
     * 油卡尾款比例
     */
    @ApiModelProperty(value = "油卡尾款比例", name = "oilFinalRate", dataType = "BigDecimal")
    private BigDecimal oilFinalRate;
    /**
     * 生效日期
     */
    @JSONField(format = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @ApiModelProperty(value = "生效日期", name = "effectiveDate", dataType = "Date")
    private Date effectiveDate;
    /**
     * 生效日期
     */
    @ApiModelProperty(value = "生效日期", name = "effectiveDateStr", dataType = "String")
    private String effectiveDateStr;
    /**
     * 失效日期
     */
    @JSONField(format = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @ApiModelProperty(value = "失效日期", name = "invalidDate", dataType = "Date")
    private Date invalidDate;
    /**
     * 92#汽油价格
     */
    @ApiModelProperty(value = "92#汽油价格", name = "gasolinePrice", dataType = "BigDecimal")
    private BigDecimal gasolinePrice;
    /**
     * 0#柴油价格
     */
    @ApiModelProperty(value = "0#柴油价格", name = "dieselPrice", dataType = "BigDecimal")
    private BigDecimal dieselPrice;
    /**
     * 失效日期
     */
    @ApiModelProperty(value = "失效日期", name = "invalidDateStr", dataType = "String")
    private String invalidDateStr;
    /**
     * 状态; 0-新增, 1-已审核
     */
    @ApiModelProperty(value = "状态; 0-新增, 1-已审核", name = "status", dataType = "Integer")
    private Integer status;
    /**
     * 状态; 0-新增, 1-已审核
     */
    @ApiModelProperty(value = "状态; 0-新增, 1-已审核", name = "statusStr", dataType = "String")
    private String statusStr;
    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @ApiModelProperty(value = "创建时间", name = "gmtCreate", dataType = "Date")
    private Date gmtCreate;
    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人", name = "creatorName", dataType = "String")
    private String creatorName;
    /**
     * 审核人
     */
    @ApiModelProperty(value = "审核人", name = "activitiName", dataType = "String")
    private String activitiName;
}
